import random

from django.core.management.base import BaseCommand
from django.utils import timezone

from content_center.const import ContentType
from content_center.models import Content, SportLabel, UniversityLabel
from user_center.models import User


class Command(BaseCommand):
    def handle(self, *args, **options):
        contents = []
        author = User.objects.get(id=1)
        for i in range(1000):
            university_label = UniversityLabel.objects.filter(
                id=random.randint(1, 2199)
            )
            sport_label = SportLabel.objects.filter(id=random.randint(1, 165))
            content_type = random.randint(1, 3)
            Content(
                id=i + 1,
                content_type=content_type,
                author=author,
                title="测试{}{}".format(ContentType(content_type).label, i + 1),
                brief_introduction="测试简介{}".format(i + 1),
                content_text="1、运动习惯和能力的培养，也要从娃娃抓起。人的本能最少，几乎所有的生存能力和行为习惯都要在后天特别是成长的初期养成；\n2、父母的作用。首先在认识上要摆正孩子智力发展与身体发展的关系，即把身体的发展放在第一位。这一条其实真正做起来并不容易。当前社会的大氛围就是升学的竞争，而竞争的核心是考核智力。加上父母往往认为智力需要认真下工夫，身体则只需要给足营养自然成长就行了。于是培养孩子运动习惯就成了“盲区”。任何一个家长都知道在孩子得病时要先治病，那为什么在未得病时就不能先注重身体的健康和锻炼呢？\n其次是身体力行坚持多到户外活动。不要总把孩子憋在家里学这学那，特别是在学龄前。相反应该多带孩子参与户外活动。逛公园、郊游、漫步、游戏、玩滑板、骑童车等。这样可以养成孩子从小爱动的习惯，从而保持运动的天性。\n第三是把运动与娱乐相结合，在兴趣和玩乐中参与运动。体育运动本身就蕴藏着无穷的乐趣。什么能引起乐趣？变化、未知、胜利、成功、探索等，都能引起乐趣。而这些因素几乎在体育运动中都能找到。即便有些看似枯燥的体育项目，也可以开发出兴趣，比如跑步，我们都去跑步，在跑步的过程中可以用成绩的不断提高刺激兴趣：比如昨天某某人跑1000米用时多少，今天提高了多少；上学期肺活量是1000，这次就增加到1200……。\n第四是把培养习惯与能力相结合。培养习惯在于天天督促孩子做，日子长久了，慢慢就成为习惯；但能力却包含着技巧，必须认真教和认真学，还要反复练习。培养能力本身还蕴藏着巨大乐趣。骑车、游泳、滑冰、轮滑……从不会到会，其过程充满探索和感悟，因此乐趣无穷；只有将习惯培养与能力培养结合，运动才会展现无穷的魅力和实用价值。\n3、选择适当的项目。从需要的角度看，运动项目有三类：娱乐性项目、必选类项目、终身性项目。对于学龄前的较小孩子，娱乐性项目的运动应多选，如各种游戏、到动物园游玩、玩沙子、玩积木、戏水……。等孩子们长大了，就由他们自己选择感兴趣的项目，而大人可以帮助他们创造条件。\n有些运动项目笔者认为是必选的：如游泳、骑自行车之类。因为这些项目不但是运动，还是一种有极大实用性的能力。还有哪些属于必选项目？各个家长可以有自己的选择。\n所谓终身项目，说的是每天都要进行以至于可以坚持终身的项目。为什么每个人都应该有这样的项目？这是保证一个人每天必须活动的条件，也是所谓养成运动习惯的重要标志。哪些项目可以作为终身项目呢？这种项目要有几个特点：一是对场地、器械要求不高；二是能够活动全身，有相当的运动量；三是以自身活动为主。比如长跑、快步走、体操、健身舞、武术、踢毽跳绳等。\n4、无论是运动员还是爱好运动者都可以给自己制定运动计划、督促检查和创造条件。对待孩子的身体锻炼，家长至少要像向重视其智力发展一样，甚至要更加重视。其主要表现是：有一个关于孩子身体成长和运动的计划；坚持经常性的督促和检查，在有时间的情况下我们要多锻炼自己的身体；",
                cover="https://caibo-0520.oss-cn-shenzhen.aliyuncs.com/banner/%E9%83%AD%E8%89%BE%E4%BC%A6.jpg",
                create_time=timezone.now(),
                update_time=timezone.now(),
            ).save()
            content = Content.objects.get(id=i + 1)
            content.university_labels.set(university_label)
            content.sport_labels.set(sport_label)
            content.save()
            contents.append(content)
        Content.objects.bulk_create(contents)
